package br.com.boreo.boreoapp_orcamento.dao;

import java.util.ArrayList;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import br.com.boreo.boreoapp_orcamento.model.Loja;

public class LojasDAO {
	private BoreoAppOrcamentoDAO boreodao;
	/*Dados da tabela*/
	private static final String NOME_TABELA = "lojas";
	private static final String ID = "_id";
	private static final String NOME = "nome";
	
	public LojasDAO(Context context) {
		boreodao = BoreoAppOrcamentoDAO.getInstance(context);
	}

	public long inserir(String nome) {
		ContentValues valores = new ContentValues();
	    valores.put(NOME, nome);
	    
	    long retorno = boreodao.getWritableDatabase().insert(NOME_TABELA, null, valores);
	    boreodao.close();
    	return retorno;
	}

	public long inserirComId(int id, String nome) {
		ContentValues valores = new ContentValues();
		valores.put(ID, id);
	    valores.put(NOME, nome);
	    
	    long retorno = boreodao.getWritableDatabase().insert(NOME_TABELA, null, valores);
	    boreodao.close();
    	return retorno;
	}

	public long alterar(int id, String nome) {
		ContentValues valores = new ContentValues();
		valores.put(NOME, nome);
	    
    	String[] whereAgrs = {Integer.toString(id)};
    	int retorno = boreodao.getWritableDatabase().update(NOME_TABELA, valores, ID+" = ?", whereAgrs);
    	boreodao.close();
    	return retorno;
	}

	public ArrayList<Loja> selectLojas() {
		ArrayList<Loja> c = cursorToArray(boreodao.getReadableDatabase().rawQuery("SELECT * FROM "+NOME_TABELA+" ORDER BY "+NOME, null));
		boreodao.close();
		return c;
	}

	public ArrayList<Loja> selectLojaPorId(int id_loja) {
		ArrayList<Loja> c = cursorToArray(boreodao.getReadableDatabase().rawQuery("SELECT * FROM "+NOME_TABELA+" WHERE "+ID+" = "+id_loja+" ORDER BY "+NOME, null));
		boreodao.close();
		return c;
	}

	public void excluirTodasLojas() {
		boreodao.getReadableDatabase().delete(NOME_TABELA, null, null);
	}

	private ArrayList<Loja> cursorToArray(Cursor c){
		ArrayList<Loja> lojas = new ArrayList<Loja>();
		while (c.moveToNext()) {
			lojas.add(new Loja(c.getInt(0), c.getString(1)));
		}
		return lojas;
	}
}
